package main

import "fmt"

func main() {
	/*
		    公鸡5钱/只
			母鸡3钱/只
			小鸡1钱/3只
			需要用白钱买白鸡
	*/
	/*
	 分析：
	 公鸡：100/5=20(只)
	 母鸡：100/3=33(只)
	 小鸡：100(只)
	*/

	count := 0
	//for i := 0; i <= 20; i++ {
	//	for j := 0; j <= 33; j++ {
	//		//优化一：小鸡3只/钱 因此每轮都按3次去累
	//		for k := 0; k <= 100; k += 3 {
	//			count++
	//			if i+j+k == 100 && i*5+j*3+k/3 == 100 && k%3 == 0 {
	//				fmt.Println("公鸡:", i, "母鸡:", j, "小鸡:", k)
	//			}
	//		}
	//	}
	//}

	//优化二：先算出 公鸡和母鸡的总量 然后用100 减去公鸡+母鸡的数量就是小鸡的数量
	for i := 0; i <= 20; i++ {
		for j := 0; j <= 33; j++ {
			count++
			k := 100 - i - j
			if i*5+j*3+k/3 == 100 && k%3 == 0 {
				fmt.Println("公鸡:", i, "母鸡:", j, "小鸡:", k)
			}
		}
	}
	fmt.Println("count:", count)
}

//短路 if 条件判断  ||  &&

func test() {
	//敲7  1-100数字 如果是末尾带7 或者十位带7 或者是7的倍数 需要敲桌子 正常数字就打印
	for i := 1; i <= 100; i++ {

	}
}
